AWS Elastic Disaster Recovery (DRS) でフェイルバッククライアントを利用した復元機能を試してみました
はじめに
ディザスタリカバリサービスである AWS Elastic Disaster Recovery (DRS) はオンプレミス環境にも対応していますが、オンプレミスのサーバに対してデータの復元を行う場合、フェイルバッククライアントと呼ばれる機能を利用して実施する必要があります。
最近、このフェイルバッククライアントに関する問い合わせを受けることがあったので、実際に試してみました。
構成図
検証環境の構成図はざっくり以下の通りです。
ローカル端末の VirtualBox 上に作成した Ubuntu Server 24.04.1 をソースサーバとして、 DRS エージェントのインストールを実施。インターネット経由でのレプリケーション完了後にフェイルバッククライアント用のサーバを同じく VirtualBox 上に立ち上げ、そのサーバに対して復元処理を行う構成としています。
DRS エージェントのインストール
以下ドキュメントの手順に従い、まずは DRS のエージェントをソースサーバにインストールします。
今回は特に明示的な指定は実施していませんが、必要に応じて特定のディスクのみをレプリケーションの対象として指定することも可能です。
$wget -O ./aws-replication-installer-init https://aws-elastic-disaster-recovery-ap-northeast-1.s3.ap-northeast-1.amazonaws.com/latest/linux/aws-replication-installer-init
$chmod +x aws-replication-installer-init; sudo ./aws-replication-installer-init
The installation of the AWS Replication Agent has started.
AWS Region name: <レプリケーション先のリージョンを指定>
AWS Access Key ID: <アクセスキーを指定>
AWS Secret Access Key: <シークレットキーを指定>
リカバリインスタンスの起動
エージェントのインストールが正常に完了すると、マネジメントコンソールの「ソースサーバ」に当該サーバが表示され、レプリケーションの進捗度が確認できる状態になります。
レプリケーションの進行状況が 100% となり「リカバリの準備完了」という項目が「準備完了」という表記になったことを確認後、「リカバリジョブを開始」を選択してリカバリインスタンスを起動します。
復元ポイントには最新のデータを使用し、「リカバリを開始」します。
リカバリインスタンスの起動ジョブが実行されるので、しばらく待ちます。
今回は約 10 分程で起動完了しました。
フェイルバッククライアントの起動
ここまでの作業で事前準備が整ったので、以下ドキュメントの手順に従ってフェイルバックを実行していきます。
まず、以下の URL からフェイルバッククライアントの ISO ファイルをダウンロードします。
https://aws-elastic-disaster-recovery-{REGION}.s3.{REGION}.amazonaws.com/latest/failback_livecd/aws-failback-livecd-64bit.iso
その後、ダウンロードした ISO ファイルを利用してサーバを作成します。
なお、ドキュメントに記載があります様に、この際起動するサーバは以下のディスク要件を満たしている必要があるので注意が必要です。
(原文)Ensure that the server you are failing back to has the same number of volumes or more than the Recovery Instance and that the volume sizes are equal to or larger than the ones on the recovery instance.
(日本語訳)フェイルバック先のサーバーが、リカバリインスタンスと同数以上のボリュームを持ち、かつそれらのボリュームサイズがリカバリインスタンスのものと同等かそれ以上であることを確認してください。
サーバを起動すると以下の様な画面が表示されるので、表示に従って順番にパラメータを入力していきます。
Enter AWS region to fail back from: <リカバリインスタンスを起動したリージョンを指定>
AWS Access Key ID: <アクセスキーを指定>
AWS Secret Access Key: <シークレットキーを指定>
Enter a custom endpoint: <プライベートネットワークでレプリケーションを実施している場合に、S3 の VPC エンドポイントを指定する。今回は指定せず>
まずここまで入力すると、フェイルバックに利用するリカバリインスタンスを特定するチェック処理が走ります。
元のソースサーバにフェイルバックする場合は自動で特定してくれる様ですが、今回は復元用サーバを別に用意したので自動特定されず、個別に対象のインスタンス ID を指定する必要がありました。
Which Recovery Instance would you like to failback from? Enter the full Recovery Instance ID (e.g:i-xxxx).
Enter Input: <リカバリインスタンスのインスタンス ID を指定>
次にリカバリ先のローカルデバイスを選択します。
今回は手動で入力してますが、元のソースサーバにフェイルバックする場合はこちらも自動でマッピングしてくれる様です。
Enter local device for remote '/dev/nume0n1' (10.0 GiB):<リカバリ先ローカルデバイスを指定>
ここまで入力が完了すると、フェイルバックレプリケーションが開始されます。
ソースサーバにエージェントをインストールした時と同様に、マネジメントコンソールからレプリケーションの進捗度が確認できるので、完了するまでしばらく待ちます。
レプリケーションの進行状況が 100% になり、「準備完了」という表示が出たら「完全なフェイルバック」を選択してフェイルバック処理を開始します。
フェイルバック用のジョブが実行されるので、完了するまで待ちます。
ジョブが完了すると、フェイルバックしたサーバが利用可能な状態になりました。これで復元完了となります。
終わりに
実際にディザスタリカバリが必要な状況が発生した場合、一度フェイルオーバーを実施した後のフェイルバック(元の環境への復帰)をどのように行うかもポイントになります。
このフェイルバッククライアントを活用することで、スムーズなフェイルバックの実現が可能ですので、オンプレミス環境の DR を計画している方は利用を検討してみてはいかがでしょうか。
アノテーション株式会社について
アノテーション株式会社はクラスメソッドグループのオペレーション専門特化企業です。サポート・運用・開発保守・情シス・バックオフィスの専門チームが、最新 IT テクノロジー、高い技術力、蓄積されたノウハウをフル活用し、お客様の課題解決を行っています。当社は様々な職種でメンバーを募集しています。「オペレーション・エクセレンス」と「らしく働く、らしく生きる」を共に実現するカルチャー・しくみ・働き方にご興味がある方は、アノテーション株式会社 採用サイトをぜひご覧ください。